package exception;

/**
 * java的异常处理机制
 * java中所有异常的超类Throwable,其下派生了两个字类型：Error和Exception
 * Error表示系统错误，通常是不能再程序运行期间被解决的错误。
 * Exception表示程序级别的错误，通常是由于逻辑等导致的问题，可以在程序运行期间被解决
 *
 * 异常处理机制中的try-catch
 * 语法:
 * try{
 *     可能出现异常的代码片段
 * }catch(xxxxException e){
 *     try语句块中出现xxxxException后的解决方法
 * }
 *
 */
public class TryCatchDemo {
    public static void main(String[] args) {
        System.out.println("程序开始了....");
       try {
            /*
        JVM执行到这里时如果发生了异常就会实例化一个对应的异常实例，并将程序执行
        过程设置进去，然后将异常抛出
         */
           String line = null;
           line = "";
           System.out.println(line.length());

           System.out.println(Integer.parseInt(line));
       }catch (NullPointerException|StringIndexOutOfBoundsException e){
           System.out.println("统一的解决方案");

       }
       catch (Exception e){
           System.out.println("通用错误解决办法");
       }



        System.out.println("程序结束了");

    }
}
